<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Promise 封装 AJAX操作</title>
</head>
<body>
	<script>
		/**
		 * 封装一个函数 sendAJAX 发送 GET AJAX请求
		 * 参数 URL
		 * 返回结果 Promise 对象
		*/
		function sendAJAX(url){
			return new Promise((resolve,reject)=>{
				// 1.创建对象
				const xhr = new XMLHttpRequest()
				xhr.responseType = 'json'
				// 2.初始化
				xhr.open('GET',url)
				// 3.发送
				xhr.send()
				// 4.处理响应结果
				xhr.onreadystatechange = function(){
					if(xhr.readyState === 4){
						// 判断响应状态码 2xx
						if(xhr.status >= 200 && xhr.status < 300){
							// 控制台输出响应体
							resolve(xhr.response)
						}else{
							// 控制台输出响应状态码
							reject(xhr.status)
						}
					}
				}
			})
		}
		sendAJAX('https://api.apiopen.top/api/getHaoKanVideo').then(value=>{
			console.log(value);
		},reason=>{
			console.log(reason);
		})
	</script>
</body>
</html>